The following abbreviations are herewith defined, at least some of which are referred to in the following description associated with the prior art and the present invention.
BTVBroadcast TelevisionCOCentral OfficeDSLDigital Subscriber LineDSLAMDigital Subscriber Line Access MultiplexerSTBSet-Top BoxTVTelevisionVHOVideo Hub Office
Telecommunication service providers are currently using a transport network to offer triple-play services, which include video (BTV), voice (telecommunications) and data (Internet) to homes via DSL phone lines or optical fibers. To accomplish this, the transport network needs to be able to provide a TV service which has an effective rapid TV channel change functionality. In particular, the transport network needs to be able to provide a TV service which has an effective fast TV channel leave functionality such that when a user who is watching TV decides to change the TV channel then the transport network is able to de-provision or “zap” the old TV channel fast and as a result conserve valuable bandwidth on the link connected to the user's STB. An exemplary traditional IPTV network 100 is discussed below to help explain why it is not possible to have an effective fast TV channel leave functionality when it utilizes components that implement the IGMPv3/MLDv2 protocols which are discussed in detail in the following documents:                B. Cain et al. “Internet Group Management Protocol, Version 3”, RFC 3376, dated Oct. 2, 2002 (note: this standard is referred to herein as the IGMPv3 protocol).        R. Vida et al. “Multicast Listener Discovery Version 2 (MLDv2) for IPv6”, RFC 3810, dated June 2004 (note: this standard is referred to herein as the MLDv2 protocol).        
The contents of these two documents are incorporated by reference herein.
Referring to FIG. 1 (PRIOR ART), there is a block diagram illustrating the exemplary traditional IPTV network 100 which implements the current IGMPv3 protocol and/or the MLDv2 protocol and as a result does not have an effective fast TV channel leave functionality. As shown, the exemplary IPTV network 100 includes two super head-ends 102, a backbone network 104, multiple VHOs 106, multiple IOs 108, multiple COs 110, multiple SAIs 112 (which include routers 113) and multiple RGWs 114. In operation, each super head-end 102 receives international TV feeds and supplies those international TV feeds via the backbone network 104 to each VHO 106. Then, each VHO 106 receives local TV feeds and multicasts all of the TV feeds to their respective IO 108. And, each IO 108 multicasts all of the TV feeds to their respective CO 110. Then, each CO 110 multicasts all of the TV feeds to their respective SAI 112 (which includes a router 113). And, each SAI 112 then multicasts all or a portion of the TV feeds to their respective RGWs 114 each of which are connected to multiple STBs 116. As a result, the user can interface with their particular STB 116″ and select one of the multicast TV channels to watch on their TV. The IPTV network 100 may also provide voice (telecommunications), video-conferencing (telecommunications) and data (Internet) to the homes via the DSL phone lines or optical fibers.
Unfortunately, the exemplary traditional IPTV network 100 and in particular the SAIs 112 (the routers 113) and the RGWs 114 implement the IGMPv3/MLDv2 protocols and their respective standardized state transition tables 118a and 118b. As such, the exemplary IPTV network 110 does not have an effective fast TV channel leave functionality which means that when a user who is watching TV decides to change the TV channel then the IPTV network 100 is not able to de-provision or “zap” the old TV channel fast and as a result wastes valuable bandwidth on the link connected to the user's STB 116′. This happens because the corresponding SAI 112′ and in particular the router 113′ have complex state machines 118a and 118b which makes it difficult if not impossible to provide an effective fast TV channel leave functionality (note: for clarity only one of the routers 113′ has been shown to include the state machines 118a and 118b). The traditional state machine 118a which is associated with the IGMPv3 protocol is illustrated below in TABLE 1:
TABLE 1StateTransitionInput fromNew RouterNo.Router StateRGW 114StateActions1INCLUDE (A)TO_IN (B)INCLUDE (A + B)(B) = GMISend Q(G, A − B)2EXLUDE (X, Y)TO_IN (A)EXCLUDE(A) = GMI(X + A, Y − A)Send Q(G, X − A)Send Q(G)3INCLUDE (A)TO_EX (B)EXCLUDE(B − A) = 0(A * B, B − A)Delete (A − B)Send Q(G, A * B)GroupTimer = GMI4EXCLUDE (X, Y)TO_EX (A)EXCLUDE(A − X − Y) = Group(A − Y, Y * A)TimerDelete (X − A)Delete (Y − A)Send Q (G, A − Y)GroupTimer = GMI5INCLUDE (A)BLOCK (B)INCLUDE (A)Send Q(G, A * B)6EXCLUDE (X, Y)BLOCK (A)EXCLUDE(A − X − Y) = Group(X + (A − Y), Y)TimerSend Q(G, A − Y)7INCLUDE (A)ALLOW (B)INCLUDE (A + B)(B) = GMI8EXCLUDE (X, Y)ALLOW (A)EXLUDE(A) = GMI(X + A, Y − A)
And, the traditional state machine 118b which is associated with the MLDv2 protocol is illustrated below in TABLE 2:
TABLE 2StateTransitionInput fromNew RouterNo.Router StateRGW 114StateActions1INCLUDE (A)TO_IN (B)INCLUDE (A + B)(B) = MALISend Q(MA, A − B)2EXLUDE (X, Y)TO_IN (A)EXCLUDE(A) = MALI(X + A, Y − A)Send Q(MA, X − A)Send Q(MA)3INCLUDE (A)TO_EX (B)EXCLUDE(B − A) = 0(A * B, B − A)Delete (A − B)Send Q(MA, A * B)FilterTimer = MALI4EXCLUDE (X, Y)TO_EX (A)EXCLUDE(A − X − Y) = Filter(A − Y, Y * A)TimerDelete (X − A)Delete (Y − A)Send Q (MA, A − Y)FilterTimer = MALI5INCLUDE (A)BLOCK (B)INCLUDE (A)Send Q(MA, A * B)6EXCLUDE (X, Y)BLOCK (A)EXCLUDE(A − X − Y) = Filter(X + (A − Y), Y)TimerSend Q(MA, A − Y)7INCLUDE (A)ALLOW (B)INCLUDE (A + B)(B) = MALI8EXCLUDE (X, Y)ALLOW (A)EXLUDE(A) = MALI(X + A, Y − A)
A detailed discussion about these traditional state machines 118a and 118b and each of their messages, states and actions is provided in the aforementioned documents associated with the IGMPv3/MLDv2 protocols. The main problem with these traditional state machines 118a and 118b is that when the router 113′ receives a message 120 (e.g., TO_IN (B)) from the RGW 114′ (or the remote network element 114′) then in order to perform a state transition it may need to send a query Q 122 (e.g., Send Q(G, A−B)) to the RGW 114′ where the time associated with sending the query Q 122 and then waiting for a response from the RGW 114′ is problematical in an IPTV application where such a delay adversely affects the fast TV channel leave functionality. Accordingly, there has been and is a need for a router that has enhanced state machines which conserve bandwidth in an IPTV network by rapidly de-provisioning or “zapping” old TV channels. This need and other needs are satisfied by the router and method of the present invention.